文の意味のベクトル表現の発見

 

文の意味のベクトル表現の発見 

意味の分散表現論の誕生期から発展期への転換を画する論文があります。それは、Ilya Sutskever らの2014年の論文、"Sequence to Sequence Learning with Neural Networks" です。

この論文は、Mikalovの「語の意味ベクトル」の発見の翌年のものです。Ilyaは、「語の意味」がベクトルで表現されるだけでなく、「文の意味」もベクトルで表現されることを見事に示したのです。これは、意味の分散表現論にとって大きな飛躍でした。

"Sequence to Sequence"という名前が少し分かりにくいかもしれません。Ilya Sutskever らの論文は、シーケンスをシーケンスに変換するRNN(LSTM)の能力が、機械翻訳に応用できるという論文でした。

「我々の方法では、入力のシーケンスを固定次元のベクトルにマップするのに、多層のLong Short-Term Memory(LSTM)を利用する。その後、別の深いLSTMが、このベクトルから目的のシーケンスをデコードする。」

図の意味を簡単に説明します。前段の入力のSequenceから作られるのは、それら入力情報のエッセンスとしての「文の意味」ベクトルです。それがEncoderの最終出力になります。そうして、この情報が後段のDecoderの最初の入力になり出力のSequenceを構成するのに利用されます。

それでは、二つのSequence を結びつけているのはなんでしょう。それは二つのSequenceが「同じ意味」を持つということです。Encoderの最終の出力で、Decoderの最初の入力となる「固定次元のベクトル」とは、二つの文が「同じ意味」を持つことを表現している「文の意味」のベクトル表現に他なりません。

Ilya Sutskever らは、このアーキテクチャーで、英語をフランス語に翻訳するシステムを作成し、BLEUのスコアで、34.81という高得点をたたき出しました。この時のシステムは、5段重ねのLSTMで構成され、それぞれが 8,000次元の状態からなる384M個のパラメーターを持つ巨大なものでした。

Attention メカニズム 


語だけでなく文の意味もベクトルで表現されるという発見は、大きな波紋を呼びました。この発見をベースに次々に新しい提案がなされます。その中でも、特に重要なのはBengioのグループからの、2016年のAttention メカニズムの提案です。

Bengioたちは、まず、Ilyaのモデルでの固定長ベクトルの使用が、この基本的なEncoder/Decoderアーキテクチャの性能を改善する上でのボトルネックになっていると指摘します。確かに、一つの語の意味も長い文の意味も、同じ固定長のベクトルで表されるというのは、少し不自然な気がします。実際に長い文章では、翻訳の精度が落ちることは確かめられています。

今から振り返れば、文の意味の表現に固定長のベクトルを利用するのが適切なのかということは、現在ではあまり問題視されていません。現在のembedding技術は、基本的に語にも文にも同じ固定長のベクトルを使用しています。

Bengioたちは、また、Decoderでの翻訳が、すべて、encoderの最終出力に圧縮された情報一つに依存することに疑問を呈します。

彼らは、翻訳時に、Encoderの働く翻訳前のソースの文の一部分を 改めて見直して、その部分から提供される情報を翻訳に生かそうとします。 そのために彼らが提案した手法を Attentionと言います。Decoderでの作業中に、「そこを訳すのなら、ちょっとEncoderのこの部分の情報に注意(Attention)を払って」と注意を喚起する仕掛けです。

「yはDecoderによって生成された翻訳された単語であり、xは原文の単語であるとしよう。
重要なのは、各Decoderの出力するワード y_tが、Encoderの最後の状態だけでなく、すべての入力状態の重みづけられた結合に依存することである。
Attention aは、出力ごとに、それぞれの入力状態をどの程度考慮されるべきかを定義する重みである。したがって、a_{3,2}が大きい場合、これは、Decorderがターゲット文の第3の単語を生成しながら、ソース文の第2の状態に多くの注意を払うことを意味する。」

GNMTが示す「意味の共通表現」の存在 


2016年の「Google ニューラル機械翻訳(GNMT)」は、全面的にこのAttention メカニズムを取り入れたものであり、大きな成果を上げます。

「Googleニューラル機械翻訳」には、論文が二つあります。一つは、システムのアーキテクチャーを述べたもので、もう一つは、このアーキテクチャーを「多言語」に拡張したシステムの機能の紹介です。

「Googleニューラル機械翻訳」の第二論文は、とても面白いものです。それは、今読み返しても新鮮なものです。

一つは「ゼロ・ショット翻訳」。

例えば、 ポルトガル語 → 英語と英語 → スペイン語で訓練された言語モデルが、明示的にはスペイン語・ポルトガル語のパラレル・コーパスが与えられたことがないのにも関わらず、スペイン語 → ポルトガル語の翻訳ができてしまうのです。学習用のコーパスなしでも「初見」でも翻訳できるのでこれを「ゼロ・ショット翻訳」と言います。

もう一つは、「インター・リンガの存在」の示唆。

この論文で挙げられている例では、日本語と韓国語と英語で、「成層圏は、高度10kmから
50kmの範囲にあります」という意味の文を、三ヶ国語でそれぞれ翻訳します。

日本語 → 韓国語、日本語 → 英語、韓国語 → 日本語、韓国語 → 英語、英語 → 日本語、英語 → 韓国語と6通りの翻訳が可能です。これらの6種類の翻訳は、「同じ意味」を、ある言語から他の言語に変換するものです。

「Googleニューラル機械翻訳」は、先に見たように Attention Mechanism を利用しているのですが、6種類の翻訳の際に生成される6種類の Attention ベクトルを可視化すると、言語にかかわらず、同様の意味を持つ文章が近い領域にクラスタリングされていることがわかったというのです。

第二論文は、この現象を、言語の違いを超えて、同じ意味を表す共通の表現が存在することの証拠だと言います。この意味の共通表現を「インター・リンガ」と呼んでいます。

全ての言語の基礎には、全ての人間に共通な、生物学的に固有な能力があると考える、Chomsky が喜びそうな話ですね。最近は、こうした話題を、「大規模言語モデル」の界隈では、あまり聞きません。残念なことです。

最近、若い友人の古川新さんと「Googleのインター・リンガの論文とか、その前のCNNの可視化の論文、面白かったよね」という話をしていたら、彼から、LLMの可視化の研究が活発になっているという話を聞きました。紹介されたのは、Anthropicの "On the Biology of a Large Language Model" tという論文でした。zapping しただけですが面白かったです。
https://transformer-circuits.pub/2025/attribution-graphs/biology.html

後半で取り上げる、DisCoCatのTai-Danaeの研究は、Chomskyが「生物学的」なものとした「普遍文法」を、「数学的」に把握する試みだと、僕は考えています。

大規模言語モデルの母胎としての翻訳モデル 


Ilya Sutskeverの文の意味のベクトル表現の発見が 2014年。Google ニューラル機械翻訳(GNMTが2016年。わずか2年しか経っていません。

その後も、2017年のTransformer,  2019年のBERT、2020年のGPT−3、2022年のChatGPTへと大規模言語モデルに向けた怒涛の進撃が始まるのですが、振り返ってみると、大きな転換点は、Ilya の文の意味のベクトル表現の発見、 Sentence to Sentence という翻訳モデルの登場にあったったように僕は考えています。

機械による言語の意味の理解は意味のベクトル表現の発見を通じて、この2014年(Sentence to Sentence)〜2016年(GNMT)の間に急速に深まりました。その意味では、大規模言語モデルの母胎は翻訳モデルだと僕は考えています。

AIの技術にノーベル賞をあげるのがファン投票で決まるのなら、僕は、迷わず、HintonとBengioとIlya3人の名前を書きます。(でも、なんでノーベル物理学賞なんでしょう?)

次回は、TransformerからChatGPTまでを、意味の分散表現の発展という観点から、駆け足で見ていこうと思います。Transformer論文のタイトルは、"Attention is all you need" でしたが、"Embedding  is all you need" というお話になると思います。

画像クリックで関連blogのリストへ移動できます

コメント

このブログの人気の投稿

初めにことばありき

密度行列とは何か?

ER=EPR